Purchase planning and optimization

ABSTRACT

The present invention provides a purchase planning system for making optimal procurement recommendations for purchasing direct materials. The system provides methods for modeling supply channels and supply contracts, for producing a lowest cost purchase plan, for evaluating the supply agreements and for maintaining contractual compliance with vendors. The process considers contractual details and generates intelligent procurement recommendations to minimize the total procurement cost by taking advantage of discounts, variations in price, freight, tariffs, taxes, duties, etc., by minimizing penalties and by considering substitution of parts with their alternates, while at the same time complying with the corporate business rules such as budgets by item groups, supplier spend limits, minority owned business development, supplier preferences and strategic split percentages, spend minimization/maximization with a specific supplier, etc. The process has extended uses for assessment of proposed contracts by modeling them as virtual contracts, for computation of purchase order contract compliance before an order is released, for better managing cash flow by providing future visibility through the planning horizon. The system uses mixed integer linear programming techniques to formulate and optimize the solution.

BACKGROUND

[0001] Purchase planning for direct material requirements largelydepends on the master planning systems. Master planning systems generatematerial requirements by considering demand/forecast for finished goodsand exploding the bill of materials to generate projected requirementsof raw material and sub-assembly quantities. The master planning systemsmay consider other factors some examples of which are inventorypolicies, supply lead times, supply lot-sizes, supplier capacities,on-hand inventory, supplier allocation policies, shipping and receivingcalendars for generating the scheduled material requirements. Thesematerial requirements are then used for procurement.

[0002] However there are two groups of parameters that must be addressedby purchase planning systems. First, it must be able to model andaddress corporate policy guidelines, some examples of which areinventory levels, fulfillment rates, and approved vendor lists. Second,it must be able to model the contractual terms of the supply agreementswith various vendors, some examples of which are obligations, rebates,volume based price breaks, and flex quantity limitations.

[0003] The currently existing systems that address master planning andsupply chain planning do not adequately address the second groups ofrequirements above. On the other hand, the currently existing contractmanagement systems do not go beyond modeling the supply contracts, anddon't provide any planning capabilities to generate purchase schedulesthat are compliant with the contracts, as well as the corporatepolicies.

[0004] Therefore the existing systems do not adequately address all theoperational constraints that are relevant for purchasing. Partial listof examples of such constraints that remain un-addressed by the existingsystems are trading partner terms, conditions and agreements for supplycontracts, enterprise business rules and various cost factors that formthe landed cost for an item. Another problem that is inadequatelyaddressed by the existing systems is that while the master planning isnormally done on a continual basis, tactical and operational purchaseplanning is not necessarily kept in sync with the latest master planningdata. Another example showing this would be the fact that the materialrequirement patterns change with each master-planning run, but these arenot used to determine the best vendor quotas or business splits aftereach run of master-planning.

[0005] Purchase decisions are complex and involve multiple parameters.If these parameters are not considered, possible cost savingopportunities are lost. In addition there could be penalties that couldhave been avoided or reduced using intelligent planning. For exampleconsider a simple case of two vendors. If there is a contractualobligation to buy a certain quantity of material by a certain week fromthe first supplier then it may not be an effective decision to buyanything from the second supplier in that week. However, a hard codedallocation solution will automatically decide to buy from the first aswell as second vendor based on vendor quota rules and may incur apenalty for not meeting the obligations from the first supplier.

[0006] Therefore, an ideal purchase-planning tool should includecapabilities to model all the parameters mentioned and other similarparameters all of which are not covered above. It should leverageoptimization technologies to minimize the overall cost of directmaterial purchasing while ensuring complete compliance to the tradingpartner terms and conditions as well as the corporate business rules.The tool should also provide a system for evaluating the effect of suchterms and/or business rules on the overall purchasing costs. The toolshould provide simulation capabilities to actually influence thedevelopment of supply channel network so as to best meet the purchasingrequirements of an enterprise.

BRIEF SUMMARY

[0007] In response to these needs, the present invention produces apurchase planning system and method that can be used to ensure optimalusage of the supply channels while complying with trading partner termsand conditions as well as enterprise business rules. Within the methodof the present invention, the user models the supply channels, specifiesthe conditions for the optimization of the purchase schedule, optimizesthe plan, analyzes the purchase schedules generated, exports thepurchase schedules to external systems so as to dispatch purchase ordersto suppliers and also has the ability to simulate virtual contractualsituations to evaluate such situations.

[0008] The user can model a supply channel by providing variousinformation elements about the supply channels. For example, the usermay specify information on items to be purchased, the (requisitioning)sites where such demand originates, approved vendors who can supplythese items, agreements with the vendors; agreement terms such as basicprice, taxes, other costs, supply locations, and transportation modes.The user can further specify the payment terms, order parameters, lotsizes for ordering. In modeling basic prices, the user may model fixedunit based pricing, or volume based discounting, or price that is afunction of time. Similar modeling constructs enable a user to modelobligations, penalties and rebates that are either absolute, or based ona percentage, and that can also be a function of time.

[0009] After establishing the supply channels, the user defines theplanning time periods, planning groups for items, and other planningconfigurations such as flags for allowing shortness, lot-size multipleconstraint horizon, and earliest release date for the schedules. Theuser also provides any rules such as business splits to be maintainedfor the vendors in specified time periods.

[0010] The purchase plans are then generated by optimizing the giveninputs. The system generates a mixed integer linear program formulationbased on the objective function that minimizes the total cost of plan,and by generating constraints to model various terms and conditions thatmay have been modeled in the contractual agreements, or may be part ofthe corporate policies. The formulation is then solved using a solverand an optimal purchase schedule is generated.

[0011] The user can then analyze the impact of the generated purchaseplan. Some examples of such analysis are: projected spend with varioussuppliers in various time periods; projected penalties for not meetingobligations if any; projected rebates that can be obtained; projectedvolume discounts that can be obtained; potential supply problems whencapacity is constrained; and projected supplier splits that will beachieved if the proposed purchase plans were to be executed as such. Ifdesired, the user can refine the plan by changing any of the inputinformation and by generating purchasing plans again.

[0012] The user can then export the generated purchase schedules to anexternal system so as to dispatch purchase orders to suppliers. Examplesof such systems are any transaction management systems that can managepurchase transactions, such systems are known as ERP (EnterpriseResource Planning) systems.

[0013] As the system allows the user to categorize the supply agreementsby status and group, therefore the system also allows creation andinclusion of virtual supply agreements in above plans. These plans thushelp in evaluating a contract that is still being considered but notfinalized. This unique evaluation technique allows users to evaluate newor renewal contracts, not in isolation by themselves, but in context ofall other agreements that the enterprise has in place. This evaluationtechnique provides a unique methodology for objectively evaluating eachand every term and condition before such a contract is formallyaccepted.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The following drawings have been provided as an aid to easilyunderstanding the current invention. The text uses like referencenumbers that represent corresponding parts throughout.

[0015]FIG. 1 shows the overall flowchart for purchase planning andoptimization method.

[0016]FIGS. 2 and 2A show the steps involved on modeling a supplychannel for purchasing.

[0017]FIG. 3 shows the steps involved in defining the optimizationconfigurations.

[0018]FIG. 4 shows the overall system for purchase planning andoptimization.

DETAILED DESCRIPTION

[0019] Field of the Invention

[0020] The present invention relates to optimally planning the directmaterial purchases where such purchases are largely made through supplyagreements; or terms and conditions that have been previouslyestablished with the vendors. It provides a channel management systemfor supplies and a method for determining an optimal, cost-minimizingset of purchase schedules based upon projected material requirements,and contractual constraints and enterprise business rules that must bemet.

[0021] Description

[0022] Most of the enterprises have multiple supply channels forprocuring their direct materials. A supply channel is a complete andindependent channel that has the capability to define, create, andsupport a procurement transaction between a vendor and a buyer. As anexample, if an item can be purchased from one vendor who can ship itfrom two warehouses, then this simple situation will have at least twosupply channels, one from each vendor warehouse to the customerreceiving location. It is important to understand that supply channelsare not physical routes between two locations. These are abstractchannels that can, each, independently be used for fulfilling thematerial requirements and have attributes different from any otherchannel for procuring the same material.

[0023] The purchase allocation decisions among various supply channelsare typically done only once during the contract term and these areoften made manually. As against this, most enterprises conduct masterplanning every week or more frequently. The changes in demand, resourceand material conditions that make frequent master planning essential areequally critical in the purchase allocation process. However lack ofsuitable automation has kept the purchase allocation process out of syncwith the dynamic master planning process. This leads to processinefficiencies and unnecessary procurement costs.

[0024] The present invention provides a solution by consideringprojected material demand, contractual obligations and other costs(examples of these costs being shipping, insurance, currency variations)to reduce the overall costs of direct material purchasing. It leveragesoptimization technologies and provides complete compliance tocontractual terms and enterprise business rules. This leads to reducedinventory, compliance with trading partner terms and an optimized planfor minimizing the purchasing costs through the whole planning horizon.

[0025] The present invention provides a purchase planning andoptimization method as well as a purchase planning and optimizationsystem to help a user manage the supply channel network at strategic,tactical and operational levels.

[0026] The purchase planning and optimization system (1000) comprises ofan input device (1010) for defining the supply channel network model,contractual terms and conditions model and the business rules model; astorage device (1030) for storing all of these models; an input device(1010) for setting up the conditions for optimization; an optimizer(1040) for determining an optimal purchase plan; an output device (1060)for analyzing the results; and a method to export the generated purchaseschedules.

[0027] On a strategic level, the present invention can help the userproject the status of current contracts, simulate scenarios for newcontracts or evaluate the impact of business rules. On a tactical level,the present invention can help the user determine a best strategy formaking purchase allocations among the available supply channels; anddetermine the best strategy for utilizing the negotiated suppliercapacity. On an operational level, the present invention can help theuser to determine purchase schedules for the near term.

[0028] The present invention assists the user in making criticaldecisions about the future by projecting long-term effects of changes inthe supply channel network. For example, the user could simulate theeffect of the new contract on the overall purchasing cost as well as theeffect on the existing set of contracts before signing a contract. Thelong-term planning provides a projection of the status for allcontracts. This could, for example, assist the user in identifyingpotential risk of penalties, and also the potential timing and amount ofpenalties.

[0029] The long-term effects of business rules and policies could alsobe evaluated. For example, if a supplier spend limit, either a maximumor a minimum, is imposed on a particular supplier then the user may wantto analyze the impact of this business rule on other contracts and onoverall purchasing cost.

[0030] The present invention also helps with medium-term tacticaldecisions and to provide forward visibility to suppliers about theirallocations during the planning horizon. The optimal allocations canchange frequently from one planning cycle to another, and could beinfluenced by factors such as obligations, penalties, price variations,volume/value discounts, expedite costs, shipping costs, taxes, tariffs,duties, supplier flex limits, allowed ship-to/ship-from combinations,supplier site capacities and many others.

[0031] The present invention also helps with near-term operationalexecution decisions such as purchase schedules to be released, expediterequests to be made and transport modes to be used.

[0032] Referring to FIG. 1, the user implements the purchase planningand optimization method (100) by performing the steps of setting up asupply channel network (200); setting up the partner contractual termsand conditions (200). Then the user proceeds through setting up thebusiness rules (300); setting up the conditions for optimization andgenerating an optimal purchase plan to procure the required material(400); and analyzing the optimal purchase plan and fine-tuning thesupply channel network (500).

[0033] A supply channel network (200) is modeled by using numerous typesof information provided by the user. This is depicted in FIG. 2. As anexample, in one embodiment of the implementation, the user may specifyitems and requisitioning sites (210); vendors and locations of thesupplier sites (220); transport modes available between the ship-fromand ship-to locations and the associated transport lead times (230).Further the user may identify the contracts available to purchase theitems (240), modeling these contracts through various attributes such asthe contract start and end dates, the supplier sites that can supply theitem to a particular customer site, and the transport modes that can beused to transport the item. The user may also specify holiday calendarsfor the supplier sites, ship-from and receiving locations for suchcontractual agreements.

[0034] The data to define and model the supply channels in (200) can beprovided either through the input device (1010), or can be partiallyimported into the system's data model directly from other sources usingthe known ETL (extract, transform and load) processes. Some examples ofthe external systems from where such data may be partially pulled intothe current system are known contract management systems, or knownenterprise resource planning (ERP) systems.

[0035]FIG. 2A further provides some of the details involved in modelingcontractual data. This may involve providing the header level data (242)that would then be applied to all the line items covered in thecontract. Examples of such data would be effective dates of thecontract; payment terms; some of the taxes and costs; obligations andpenalties; rebates; and other attributes like order acknowledgements,order processing lead times, order processing fees etc. All data that ismodeled at the contract header level is considered whenever theoptimizer evaluates a specific contract or an item involved in thatspecific contract. For example, if a contract specifies the valueobligation at $200,000 worth of business within the contract term, thenthe system will include this fact during the problem formulation, andthe corresponding penalty (if the obligation is not met) will be modeledas the cost function whenever any item from this contract is beingplanned for purchase. Similarly if a sales tax is applicable to all theitems in the contract, it can be modeled only once at the header leveland used for all the items by the system. The header level obligations,penalties and rebates are always value based. The user may furtherspecify obligations and rebates to be imposed in specific time periods.The payment terms modeling for the supply contracts is provided throughdefinition of system and user events. System events are pre-definedevents of a purchase order transaction, where each event is distinctlyidentifiable by a change in the status of the order; and an associatedtransaction that is triggered by such a status change; the examples ofsuch an event being “receipt of material” for an order, where this eventmay change the status from “ordered” to “received” and also triggers thegeneration of a material receipt note transaction. Such events throughout the life cycle of the purchases have been pre-defined in the system.The users may further define custom events by selecting a pre-definedsystem event and providing a time direction and time duration from theselected event. For example, a user event can be defined based on the“receipt of material” event by specifying that the new custom eventoccurs “after” (being the time direction) “10 days” (being the timeduration) from the selected system event. The user can uniquely namesuch custom events. Both, the system and the user defined custom eventscan be used to define payment terms. For example, extending the aboveexample, the payment term may use the custom user defined event tosignal that the full payment becomes due when the custom event occurs(which happens to be 10 days after material receipt which is distinctlyidentified through the corresponding material receipt transaction).

[0036] Step (244) in FIG. 2 prompts the user to define the items that aparticular supply contract covers. Once these items are associated withthe contract, and the status of the contract is made “active”, then thiscontract will always be considered as one of the supply options by thesystem. The association of the items also enables the users to defineitem level attributes (248) to complete the modeling of the contract.

[0037] After defining the contract items in step (244), the user mayfurther restrict the channels by validating the possible supply pathsfor each item in the contract by selecting the combinations of vendorship locations, requisitioning locations and transport modes (246). Themodeling of these channels provides the basis for the system to computethe total landed cost for each supply channel. For example, thetransportation costs that are modeled in step (248) can be defined basedon the combination of shipping location, receiving location and thetransport mode. Other examples of costs that may vary with these factorsand affect the total landed cost through a channel are taxes (examplewill be import duties that may vary by country of origin), handling,packaging and transit insurance costs.

[0038] Step (248) consists of defining all the other attributes of thecontract that need to be modeled at the item level. Examples of suchattributes are taxes, handling charges (these may be higher for someitems like chemicals that require special handling), packaging, rebatesthat are that are specific to these items; and obligations and penaltiesthat are specific to these items. At the item level the obligations andrebates can be specified either as quantities (of the items that must bepurchased for a rebate to kick in, for example), or value. The user mayfurther specify obligations and rebates to be imposed in specific timeperiods. Similarly, the user may specify other terms such as orderhandling lead-time, supply lead-time for an item at a supplier site, thesupply capacity of a supplier site for an item and lot-sizing rulesimposed by a supplier site for supplying an item.

[0039] The user may further specify contractual terms for unit pricesand other costs in step (248). The unit price may be a simple price fora contract and an item, or may be based on purchase volume level, or maybe time dependent. The suppliers may be able to offer better pricing atlarger volumes because of the economies of scale, and volume discountsis also a way for the suppliers to encourage buyers to buy in largervolumes. The time dependent aspect of unit price may arise because ofseasonal variations in price or because of dependence on a price indexthat change by time. Price equations can also be modeled using formulasthat have parameters that may change with time. Various structures formodeling the basic price have been provided through various dataconstructs in the current invention with the intention of providing theability to model the largest possible number of situations in which theprices can be negotiated in a contract. The system further provides thecapability of using these models to precisely construct the applicableprices in various planning buckets.

[0040] The system also provides a very flexible and extensive data modelfor the cost modeling in step (248). These are the costs that need to bedefined in addition to the basic price. There could be numerous othercosts associated with purchasing, such as shipping costs, taxes,tariffs, duties and insurance. Some of these costs may depend on thepurchased quantity whereas other costs may depend upon the purchasedvalue. As an example, shipping cost may depend upon quantity whereassales tax may depend upon value. The user may define custom costs andalso specify the nature of their dependence on purchase quantity and/orvalue. Furthermore, some costs such as transportation may additionallydepend on the shipping route selected. The system provides data modeland constructs to model all the above situations.

[0041] In some situations where an enterprise has active collaborationwith the suppliers, it may be required that the projected supplyrequirements be shared with the vendors. Once these projectedrequirement numbers have been published to the specific vendors, theremay be further restriction on how much these numbers can be revisedduring specific time buckets. Step (248) allows the users to cover suchsituations where short-term and medium-term purchase plans are sharedwith suppliers and there are flexible limits established which restrictthe allowed percentage change in purchase quantities after these havebeen shared with the vendors. The very near term may be a frozen periodwith small/no changes allowed and in subsequent time periods up-flex anddown-flex percentages may be specified. In such situations, the user mayspecify negotiated up-flex and down-flex percentages in frozen andcollaboration time periods, as well as flexible quantity basis forperiods for which forward visibility is provided. The system considersthese as constraints so that these terms as part of the contractualagreements are not violated by the purchase schedules generated afteroptimization. The implementation of such constraints require computationof the flexible quantity basis for each period. Such calculations areautomatically computed by the system. The flexible quantity basis for aperiod is the quantity communicated to a supplier for that period whenthe time period rolls-over either from a collaboration zone into thefrozen zone or from the period beyond collaboration zone in to thecollaboration zone. The up-flex and down-flex percentages are applied tothe flexible quantity basis to establish the limits for allowed changein quantities. As an example consider that there is a two week windowthat is defined as the frozen horizon during which the quantities can berevised downwards with in 10%, and no upward revision is allowed.Further assume that during the current week, the projected sharedmaterial demand for week 3 is 500 units of widgets. Then next week(defined as current+1), when the week 3 rolls over as week 2 and comeswithin the two week frozen time period, then the demand can be revisedwithin the limits of 450 and 500 units. Assume further that theprojected demand shared with the vendor during this planning run ismodified to 480 units, which is within the allowed range of 450 and 500units. Then during the week after (current+2), the demand basis willstill remain 500 and the changes will still be restricted within 450 and500 units of widgets. The quantity of 500 units becomes the quantitybasis for the frozen window.

[0042] The enterprise business rules are modeled based on inputs fromthe user in step (300). Some examples of such business rules are spendlimits that the user may specify for each supplier. These spend limits(maximum and minimum) are to be applied across the purchases of allitems from that supplier. The user may also specify strategic supplierallocation percentages for an item, which are to be imposed over theentire planning horizon and not necessarily in sub-periods within thehorizon. The user may also specify that spend with a particular supplieris to be maximized or minimized without providing a hard number value asthe target.

[0043] In step (400), the user specifies the set-up and configurationparameters for the optimization. Some examples of such attributes arefollowing. User creates a planning calendar. Such planning calendarestablishes the planning horizon by defining the start and end dates forthe horizon, and the number and size of planning buckets. For Example aplanning horizon may consist of one-year period divided into 4 weeklybuckets, two monthly buckets and three quarterly buckets. These planningbuckets are used by the system to compute things such as consolidatedprojected material requirements and weighted average prices in each oneof the planning buckets throughout the planning horizon. The definedplanning calendar can then be specified for an item or for a group ofitems. Each item, and/or item group must be associated with at least oneplanning calendar. The user may then select the scope of optimizationproblem (410). For example, a group of items can be selected for whichthe current run of the optimization should be executed. This group ofitems that is selected by the user for planning is referred to as the“planning group of items”. The system then expands the scope of items tobe included in the same optimization run so that any inter-dependenciesamong the items are modeled. This extended group of items created by thesystem from the user-defined “planning group of items” is referred to asthe “optimization group of items”. The system uses a complex logic forgenerating all items that affect each other during purchasing. Forexample, in one embodiment, if a widget A is supplied by one contractand is used for generating the automated optimization item group, thenthe system will go through the following series of steps to generatesuch a group: (a) system identifies all the contracts that this item canbe sourced from, from this list the system short-lists those whereheader level obligations or rebates exist; (b) for all the contractsobtained in step (a), system generates a list of all the other itemsthat are also supplied by the same contracts; (c) for all the items inthe list, step (a) and (b) are repeated, (d) the sequence continues tillthe system reaches the end of such combinations. All these items arethen grouped together as these affect each other either by way of commonobligations or rebates through contract headers. Such a group is thenlogically specified for planning in the same run to produce optimalpurchase schedules. The user may also specify other optimizationconfigurations (420) such as planning buckets during which the plannedschedules must be constrained on lot-sizes, earliest schedule releasedate and numerous other parameters that control the formulation andexecution of the optimization problem. The system also provides theability to configure the optimization runs to be executed automaticallyon a schedule, or manually. These can be set-up in step (430). Theseoptimization configurations can also be saved in a template that can beused repeatedly.

[0044] Step (500) involves the analysis of the purchase schedulesgenerated through optimization. While the individual purchase scheduletransactions can themselves be analyzed, the system also providespre-computed consolidated data. Examples of such analysis that isdirectly computed and provided to the user by the system are total basicprice and other costs analysis by items, contracts, requisitioningsites; projected and historical values of business volumes andquantities that have been purchased by contract, by item, byrequisitioning sites, etc. Such analysis quickly helps the user inidentifying demand patterns, procurement trends and helps spot weakercontractual relationships. In another instance where virtual contractshave been modeled for the planning cycle, this analysis can quickly helpin evaluating the virtual contract with respect to the existing purchaseagreements and material needs. For example, the user may run multiplescenarios by changing certain terms on the virtual contract and may findthat volume discounts can be negotiated with a new supplier based on thevolume of projected business, and can further reduce overall cost. Thisinformation will then provide the user with an objective value to targetduring the price negotiations with this particular vendor.

[0045] It is to be noted that the above list of features used toexemplify the supply channel network, the partner contractual terms andconditions and business rules is non-exhaustive and is only meant as anillustrative sampling of possible data. Numerous other related facts andinformation may be included within the present invention.

[0046] The optimal purchase plan is generated by formulating amathematical problem and by solving it using linear programming (LP)and/or mixed-integer linear programming techniques (MILP). Themathematical problem is representative of the supply channel network,contractual terms and conditions and business rules to the extentdefined by the problem scope and problem configuration.

[0047] The need quantity and the need date are assumed to be known forthe items to be purchased. The need dates may extend in to a long-termhorizon that is as much as a year or more. In the preferred embodiment,it is also assumed that on-hand inventory; in-transit shipmentquantities and open purchase order quantities are netted-out indetermining the need quantities that are presented to the currentsystem.

[0048] The need quantities are consolidated into planning time bucketsthat are defined by the user. In the preferred embodiment, the purchasequantity for a planning time bucket is ideally required to be no more orno less than need quantity in the time bucket, and also preferably notearlier or later than required. However, there could be circumstanceswhere this is not possible. For example, the purchase quantity in aplanning time bucket may have to be less than need quantity in the timebucket if there is a capacity shortage in the corresponding supplyperiods. Another example being flexible limits in the time bucket maynot allow buying as much as need quantity. Similarly, the purchasequantity in a time bucket may have to more than need quantity. Flexiblelimits could once again be the reason for this or there could belot-sizing rules that may require that purchase quantity should be amultiple of a certain quantity, whereas need quantity may not be arequired multiple.

[0049] One embodiment of the formulation for need quantity is nowdescribed. Because of the nature of the planning strategy for needquantity as explained above, there could be infeasible situations ifneed quantity were to be modeled as a hard constraint. For this reasonneed quantities are modeled as soft constraints. A penalty is imposed onany short quantity. The penalty per unit short quantity of an item isset to be larger than the maximum per unit total cost across all theavailable supply channels for purchasing the item. The optimizer wouldfind a solution such that the cost function, which includes the totalcost for purchase quantity as well as penalty for short quantity, isminimized. Since per unit penalty is larger than the per unit actualpurchase cost, the cost function would be minimized if short quantitywere in fact zero, if that is a feasible solution. If any constraint,such as a capacity constraint, were to restrict the amount that can bepurchased to be less than need quantity then the minimal cost solutionin that situation would include penalty for short quantity. Inparticular it is to be noted that this scenario does not lead to aninfeasible situation, which would be the case if need quantity were tobe modeled as a hard constraint.

[0050] The constraint for need quantity for a particular item, site andplanning time bucket, N, would be:

[0051] q+d gtoreq N,

[0052] where q and d are the purchase quantity and penalty variables,respectively, for the same item, site and planning time bucket.

[0053] The purchase quantity variable for a particular item, site andplanning time bucket is the sum of purchase schedule quantity variablesof all the effective supply channels. Here a supply channel for an item,site and planning time bucket is defined to be a contract, suppliersite, transport mode and choice of expedite options. Assuming that thereare two supply channels for a particular item, site and time bucket andconsidering the embodiment where the purchase price is a simple unitprice the objective function component relevant to q and d is:

F=s.sub.1(c.sub.1)+s.sub.2(c.sub.2)+d(c),

[0054] where s.sub.1 and s.sub.2 are the purchase schedule quantityvariables associated with the two supply channels for item, site andtime bucket; c.sub.1 and c.sub.2 are the unit prices associated with thetwo supply channels; and c is greater than maximum(c.sub.1, c.sub.2).Note that,

q=s.sub.1+s.sub.2.

[0055] In another embodiment of planning strategy for need quantity, theuser may want to buy quantity that is short, either earlier or laterwhen possible. The user may also specify limits on how much earlier orlater would be acceptable. In another embodiment of planning strategyfor need quantity, the user may want to use any excess quantity in atime period as soon as possible in future time periods and also buy lessby the same used amount, in those future time periods. All suchembodiments of planning strategy for need quantity are formulated usingmethodology and penalty system similar to the one described for thepreferred embodiment.

[0056] When unit price is time dependent then a weighted average unitprice is used to compute the basic purchase cost in a planning timebucket. The weighted averaging is done based on the proportion of timethat a certain price is specified in the planning time bucket.

[0057] When unit price is discounted based on volume steps, the basicpurchase cost is modeled using integer variables in addition to linearvariables. The optimal purchase quantity of an item, using a particularcontract, by the end of the planning horizon may fall into any of thevolume steps. A purchase quantity variable is introduced for each ofthese possibilities for the contract and item, say, A.sub.1, A.sub.2 andA.sub.3, assuming there are three volume steps. Only one of thesevariables may be greater than zero, while the other two would have to bezero. By definition, the following constraints would hold for A.sub.1,A.sub.2 and A.sub.3:

[0058] A.sub.1 gtoreq 0,

[0059] A.sub.1 ltoreqj.sub.1 (u.sub.1),

[0060] A.sub.2 gtoreqj.sub.2 (u.sub.1),

[0061] A.sub.2 ltoreqj.sub.2 (u.sub.2),

[0062] A.sub.3 gtoreqj.sub.3 (u.sub.2), and

[0063] A.sub.3 ltoreq j.sub.3 (u.sub.3),

[0064] where u.sub.1, u.sub.2 and u.sub.3 are upper limits of the volumediscount steps 1, 2 and 3, respectively; and j.sub.1, j.sub.2 andj.sub.3 are binary variables that are further constrained as follows:

j.sub.1+j.sub.2+j.sub.3=1.

[0065] One and only one of j.sub.1, j.sub.2 and j.sub.3 would have to be1, while the other two would have to be 0. If j.sub.1 were to be 1 thennote that the above constraints would force A.sub.2 and A.sub.3 to bezero. Similarly, if j.sub.2 were to be 1 then A.sub.1 and A.sub.3 wouldbe zero and if j.sub.3 were to be 1 then A.sub.1 and A.sub.2 would bezero. Thus, the purchase quantity for the item and contract would be thesum of A.sub.1, A.sub.2 and A.sub.3. This purchase quantity is alsoequal to the sum of quantity purchased to-date, Z, and the sum ofpurchase schedule quantities across all supply channels for the item andcontract with delivery periods through the planning horizon, which maybe expressed as follows:

Z+.Sigma.s=A.sub.1+A.sub.2+A.sub.3.

[0066] The objective function component corresponding to basic purchasecost of .Sigma.s is as follows, assuming Z falls into the first volumestep:

F=[A.sub.3−j.sub.3(u.sub.2)](c.sub.3)+j.sub.3[(u.sub.2−u.sub.1)(c.sub.2)+(u.sub.1−Z)(c.sub.1)]+[A.sub.2−j.sub.2(u.sub.1)](c.sub.2)+j.sub.2(u.sub.1−Z)(c.sub.1)+[A.sub.1−j.sub.1(Z)](c.sub.1),

[0067] where c.sub.1, c.sub.2 and c.sub.3 are the unit prices in thevolume steps 1, 2 and 3, respectively. If Z were to fall into volumestep 2, then the objective function component corresponding to basicpurchase cost of .Sigma.s would be as follows:

F=[A.sub.3−j.sub.3(u.sub.2)](c.sub.3)+j.sub.3(u.sub.2−Z)(c.sub.2)+[A.sub.2−j.sub.2(Z)](c.sub.2).

[0068] The approach to model basic purchase cost when there are anynumbers of volume discount steps and quantity purchased to-date fallinginto any of the volume discount step is similar to the one describedabove.

[0069] The supply capacity, which is negotiated in a contract, for anitem at a supplier site is modeled as a hard constraint. The purchaseorder schedules that are to be supplied from a supplier site to any ofthe customer sites consume the capacity at the supplier site. Thus, thetotal purchase quantity across all schedules in a given supply periodfor a contract, item and supplier site is required to be less than orequal to the supply capacity in the supply period for the contract, itemand supplier site.

[0070] The supply period start date and end date for a purchase scheduleare determined by subtracting the total lead-time of the correspondingsupply channel from the start date and end date of the delivery timebucket, respectively. The purchase schedules for an item, delivered fora certain planning time bucket, using a certain contract and from acertain supplier site may not all have the same supply period. This isbecause the total lead-time may not be the same for all the supplychannels that correspond to the above-mentioned purchase schedules. Inorder to impose the capacity constraints, in one embodiment, thepurchase schedules are split into multiple variables each of single dayduration. The capacity constraint for any particular day is then imposedon the sum of all the split schedule quantity variables that consumecapacity from that day.

[0071] For example, consider a scenario with two requisitioning siteseach with a supply channel to a particular supplier site, for an itemusing a certain contract. The lead-time from the supplier site torequisition site1 is 5 days and to requisition site2 is 4 days. Considera planning time bucket that is 2 days long, say, covering day 8 and day9. So, the corresponding supply period is also 2 days long. But, thesupply period corresponding to supply channel1 (from supplier site torequisition site 1) is offset by 5 days lead-time from the planning timebucket, whereas the supply period corresponding to supply channel 2(from supplier site to requisition site2) is offset by 4 days. Thus, thesupply channel1 consumes capacity of the supplier site on day 3 and day4, and the supply channel2 consumes capacity of the supplier site on day4 and day 5. In this scenario, there would be three capacityconstraints:

[0072] s.sub.11 ltoreq C (constraint for day 3),

[0073] s.sub.12+s.sub.21 ltoreq C (constraint for day 4), and

[0074] s.sub.22 ltoreq C (constraint for day 5),

[0075] where, s.sub.11 is the schedule quantity split for day 3 forsupply channel 1, s.sub.12 is the schedule quantity split for day 4 forsupply channel1, s.sub.21 is the schedule quantity split for day 4 forsupply channel2, s.sub.22 is the schedule quantity split for day 5 forsupply channel2, and C is the maximum supply capacity per day availableat the supplier site for the considered item.

[0076] In some other embodiments capacity constraints are imposed withfewer purchase schedule splits, to reduce the number of variables to besolved.

[0077] The obligations at contract header and contract item levels,which may further be specified for several periods of time and which maybe either quantity based or value based, with penalties that arecomputed as a percentage of short quantity or short value are modeledusing the same approach as that outlined for need quantity modelingusing soft constraints. In this case the penalty is not used to model asoft constraint, but is in fact a real penalty. For example, in oneembodiment, where the user specifies value obligation, V, for a contractand item; and associated penalty as percentage of the short value, p;and unit price as a simple price, c; the formulation is as follows:

[0078] The sum of value purchased to-date, value of the purchaseschedules across all the supply channels for contract and item, andpenalty is constrained to be greater than or equal to V:

Y+(c).Sigma.s+S gtoreq V,

[0079] where Y is value purchased to-date and S is the short value. Theobjective function component corresponding to the penalty is,

F=S(p/100).

[0080] When the penalty is specified as a fixed value, W, as opposed tobeing a percentage of the short value, additional constraints areintroduced as follows:

[0081] S gtoreq j, and

[0082] S ltoreqj (V),

[0083] where j is a binary variable. The objective function componentcorresponding to the fixed value penalty is,

F=j(W).

[0084] The penalty may be specified as the sum of a fixed value and apercentage of the short value, in which case the objective functioncomponent corresponding to the penalty is,

F=S(p/100)+j(W).

[0085] When the unit price is not a simple price, but say, is based onvolume discount steps, then quantity obligations and associatedpenalties are modeled using a technique similar to the one presentedearlier for modeling basic purchase cost in the presence of volumediscount steps.

[0086] As opposed to obligations, there may be rebates that areavailable as a percentage of quantity or value exceeding a rebate pointquantity or value and/or a fixed rebate for exceeding the rebate pointquantity or value. These rebates may be available at contract header andat contract item levels, and may further be specified for severalperiods of time. One embodiment of the formulation for rebates isexplained below.

[0087] In the situation where the user specifies a rebate point value,R, for a contract and item; and associated rebate as a percentage of theexceeding value, r, as well as a fixed rebate, G, and unit price as asimple price, c; the formulation is as follows:

[0088] The optimal purchase value of an item, using a particularcontract, by the end of the planning horizon may fall below the rebatepoint value R or may be above the same. Purchase value variables areintroduced for each of these two possibilities for the contract anditem, say, X.sub.a, and X.sub.b. Only one of these two variables may begreater than zero, while the other would have to be zero. By definition,the following constraints would hold for X.sub.a, and X.sub.b:

[0089] X.sub.a gtoreq 0,

[0090] X.sub.a ltoreq j.sub.a (R),

[0091] X.sub.b gtoreq j.sub.b (R), and

[0092] X.sub.b ltoreqj.sub.b (M),

[0093] where M is a very large number; and j.sub.a, j.sub.b are binaryvariables that are further constrained as follows:

j.sub.a+j.sub.b=1.

[0094] One and only one of j.sub.a and j.sub.b would have to be 1, whilethe other would have to be 0. If j.sub.a were to be 1 then note that theabove constraints would force X.sub.b to be zero. Similarly, if j.sub.bwere to be 1 then X.sub.a would be zero. Thus, the purchase quantityvalue for the item and contract would be the sum of X.sub.a and X.sub.b.This purchase quantity value is also equal to the sum of value purchasedto-date, Y, and the sum of purchase schedule quantity value across allsupply channels for the item and contract with delivery periods throughthe planning horizon, which may be expressed as follows:

Y+(c).Sigma.s=X.sub.a+X.sub.b.

[0095] The objective function component corresponding to rebates is,

F=−[X.sub.b−(R)j.sub.b](r/100)−j.sub.b(G).

[0096] As opposed to unit price that is specified for a unit quantity ofan item the user may specify costs with a quantity basis greater than 1.For example, shipping cost, t, may be specified for a quantity basis, b.In this case the shipping cost for a purchase schedule quantity that isless than b would still be t. Such costs are formulated as explainedbelow.

[0097] The following constraints are enforced for a purchase schedulequantity with such quantity-based costs:

[0098] s−(b) i ltoreq 0, and

[0099] s−(b) i gtoreq (1−b),

[0100] where i is an integer variable. The objective function componentcorresponding to the quantity-based cost is then,

F=i(t).

[0101] In another embodiment, a model with costs that have a quantitybasis greater than 1 is solved in two iterations. In the firstiteration, the quantity basis is in fact considered to be 1 for all thecosts, the costs are proportionately converted to unit costs, and asolution is obtained for the model. In the second iteration, theconstraints and objective function component mentioned above forquantity-based costs are modeled. In addition, the integer variable, i,is more tightly bounded. The following example illustrates the method.Let the schedule quantity solved in first iteration for a supplychannel, say, channel1 be 58. Consider the quantity basis for a certaincost associated with channel1 to be 10. Consider the quantity basis forall the other costs associated with channel1 and the quantity basis forall the costs associated with other supply channels to be 1. In thiscase, the optimal schedule quantity for channel1 in the second iterationwould be in the range of 50 to 60, both values included. Thus, theinteger variable, i, in the second iteration can be tightly bounded to arange of 5 to 6, both included.

[0102] Another kind of costs that may be associated with a schedule iscosts that do not depend on the quantity of the schedule, but on anattribute of a schedule such as a fact that it is expedited. Such costsare formulated as explained below.

[0103] For the situation where a purchase schedule is expedited with anexpedite cost, e, the following constraints are enforced on theexpedited purchase schedule quantity variable:

[0104] s gtoreq j, and

[0105] s ltoreq j (C),

[0106] where j is a binary variable and C is the capacity of the supplyperiod associated with the purchase schedule. The objective functioncomponent corresponding to the expedite cost is then,

F=j(e).

[0107] In certain situations the user may specify lot-sizing rules to befollowed for purchase schedule quantities. The lot-sizing rules may bein the form of a minimum, a maximum and/or a multiple of a certainspecified quantity. In one embodiment of lot sizing where thelot-size-multiple, L, is less than the min-lot-size, m; andmax-lot-size, M, is greater than the capacity of the purchase schedulesupply period, C; the formulation is as explained below.

[0108] The following constraints are enforced on the purchase schedulequantity variable:

[0109] s=i(L),

[0110] i gtoreq j (m/L), and

[0111] i ltoreq j (C/L),

[0112] where i is an integer variable and j is a binary variable.Similar formulations are used for other embodiments of lot sizing rules.

[0113] In some embodiments, it may be possible to restrict a schedulequantity variable to only a few of the lot-sized quantities, to find anoptimal solution. Consider a scenario where there are two supplychannels, channel1 and channel2, to fulfill a need quantity of 250 in acertain planning time period. Consider the channel1 schedule quantity,s.sub.1, to be constrained to lot-size parameters of: L=25, m=100, andM=500. And let the channel2 schedule quantity, s.sub.2, to be notconstrained by lot-sizing parameters. If the lot-sizing constraints werenot there for s.sub.1, let the optimal solution be: s.sub.1=168, ands.sub.2=82. Let us call this is as first iteration solution. Thelot-sizing constraints are enforced in the second iteration model. Inthe second iteration, it is sufficient to consider the values of 150 and175 for s.sub.1, to find an optimal solution. In this case, the lot-sizeconstraints can be reformulated as follows:

[0114] s.sub.1=150j.sub.1+175j.sub.2,

[0115] s.sub.2 ltoreq 100,

[0116] s.sub.2 gtoreq 75, and

[0117] j.sub.1+j.sub.2=1,

[0118] where j.sub.1, and j.sub.2 are binary variables. It is much moreefficient to solve the reformulated model.

[0119] The user may also specify business rules such as supplier spendmaximum and minimum spend limits or constraints such as supplierflexible limits. The user may specify that such rules be formulatedeither as hard constraints or as soft constraints. When the rules aremodeled as hard constraints a feasible solution may not be possible.When a rule is specified as a soft constraint the user would alsospecify an associated penalty. In this case, in the optimal solution therule may or may not be enforced depending on the amount of penalty andthe relative value of the penalty compared to other penalties.

[0120] An optimal purchase plan is generated, after the formulation iscompleted, by solving the LP or the MILP problem using knownmathematical techniques and heuristics.

[0121] Once the solution has been obtained, the analysis step allows theuser to analyze the results. Such analysis involves but is not limitedto creation and review of reports based on the purchase plans outputfrom the system, consolidation of data and presentation in pivot tablesand/or multi-dimensional formats, aggregation along natural dimensionsin the data, some examples of such aggregation being item groups, vendorgroups.

[0122]FIG. 4 shows the major components of the purchase planning andoptimization system (1000) that may be used to implement the purchaseplanning and optimization method (100). The system (1000) includes aninput device (1010). Examples of typical input devices will includekeyboards and pointing devices, such as a mouse. The system (1000) inFIG. 4 also includes a storage device (1030). This device receives andstores the user's input from the input device (1010). It may also acceptand store modeling information from an outside source. The data modelunderlying the present invention allows the user to model the supplychannels with objects and processes and maintains the relationshipsamong these objects or processes in a way that ensures referentialintegrity. To achieve this functionality, the storage device (1030) usesknown relational database models. This storage device (1030) also storesother system data such as optimization configurations, contractualmodels, output plans. The system allows the users to simultaneouslycreate and persist multiple planning outputs under different uniquenames and compare them with one another as in step (500).

[0123] As FIG. 4 shows, the system (1000) also includes an optimizer(1040). The optimizer electronically connects to the server computer(1020), and can exchange information with other components through theserver. Using this information, the optimizer (1030) conducts theoptimization as in step (400). The optimizer (1030) may include a linearprogrammer or a similar data analysis tool that are readily available.An alternative configuration of the system (1000) may work as anautomated batch process and may not require separate input device asshown. In such cases the input will be electronically provided to theserver that stores it in the storage device, and also uses it forformulation of the optimization problem.

[0124] The output device (1060) is a device where the results of theoptimization are shown to the user. This will typically be a videodisplay or a printer. This device helps the user conduct the analysisstep of (500).

[0125] The above description of the embodiments of the invention hasbeen presented for the purposes of illustration. It is not intended tobe exhaustive or to limit the invention to the precise form disclosedand many modifications and variations are possible. Since manyembodiments of the invention can be made without departing from thespirit and scope of the invention it is intended that the scope of theinvention be not limited by this detailed description, but rather by theclaims appended hereto.

1) A method (and computer process) for producing optimal purchaseschedules, the method comprising the steps of, a) Creating the supplychannels models, said model defining attributes of the supply channelincluding supply channel master data of items, requisitioning sites,vendors, vendor sites, transport modes; supply agreement parameters; andcorporate business rules b) Creating the scope for planning, defineoptimization configurations, formulating linear programming and mixedinteger linear programming models based on the created supply channelmodels, and run the optimizer c) Analyzing the output purchaseschedules, that may consist of real and virtual planning scenarios,through analysis of the purchases costs; basic prices; contractualobligations, rebates and penalties; fulfillment; and schedule complianceto contractual terms d) Further analyzing the enterprise's owncompliance on purchase quantities and flex limits; payment terms; andlead time provided for order processing, supply and transportation;costs and taxes; and basic prices; before the purchase schedules arefinalized as orders and sent to the vendor 2) The method of claim 1wherein the step of creating a supply channel model further comprises ofthe following steps, a) Creating a supply agreement by identifying avendor, items covered for supply in this agreement, identify vendor shiplocations, identify receiving locations, and other parameters ofeffective dates, payment terms, compliance requirements for lead-timesfor order processing, manufacture and transportation; maintainingversions and activating b) Modeling the basic price that may be modeledas fixed unit price, volume based discounting structure, fixed unitprice varying by time, formula based pricing using one or more parameterthat changes with time, formula based pricing using one or moreparameter that changes with time and where the computing formula itselfmay change with time c) Model costs other than the basic price, wheresuch costs may be modeled as an absolute value, as a percentage ofanother cost definition, as a percentage of basic price, as a functionof the quantity, as a function of the transportation route specifying ashipment origin and destination pair, costs that are a combination ofabsolute values and percentage of another cost or basic price d)Associate the costs thus modeled either at the agreement level, or at aline item level where these line items are individual items that areidentified for supply in the agreement e) Define specific planning timebuckets referenced as frozen and collaboration periods each allowing theuser to specify collaboration parameters with the vendor with whom theagreement is being modeled, these parameters being the up and down flexpercentages on the projected quantity demands during the future timeperiods, and the duration of the frozen and collaborative time buckets;and may be specified for the whole agreement, at the line-item level, orthe requisitioning site and item level f) Select system events based onpurchase transaction life cycle milestones that are defined and providedby the system, and/or define user events by specifying the direction andduration in days from the selected system event g) Define payment termsby using the above events, either modeling an absolute amount to be paidassociated with an event, or a percentage of expected value of thepurchase schedule; or by associating a pre-defined payment term fromanother agreement that may either be a parent agreement or anindependent agreement with same or another vendor h) Create capacitycalendars for vendor sites when no supplies can be made and associatethese calendars with the specific vendors i) Create receiving locationcalendars when no receipts can be made and associate these calendarswith the specified receiving location j) Specify agreement terms onquantities for lot sizes, minimum order quantity, and maximum orderquantity for the orders placed under the agreement reference k) Modelsupply network by providing receiving locations, supplying locations andtransportation modes, and specifying the valid combinations of the threefor the specified agreement l) Specify ordering related parameters oforder handling or processing time, maximum number of orders that wouldbe processed free by the vendor under the agreement, order handling feeafter the maximum number of free orders has been reached under the saidagreement m) Model and specify lead times related to transportation leadtime between the supplying and receiving locations; order processinglead time for a specific agreement; manufacturing or supply lead time;and expedited lead times for each of the above situations when expeditefee is specified and paid n) Model supplier capacities for differentitems, or for supply-site and item combinations o) Specify obligationsand penalties when these obligations are not met; obligations beingspecified in quantities at line-item level, or currency values atagreement, or individual line-item levels; penalties in absolute value,and/or percentage of shortness on obligation; both obligations andpenalties being thus modeled either to be constant through time orvarying with time p) Specify available rebates under the agreement whena particular business volume has been achieved; such rebate point beingdefined either by value at the agreement or a line-item level; or byvalue or quantity at the line-item level; and rebate itself being eitherin absolute currency value and/or percentage of currency value ofbusiness volume above rebate point; and such rebates being fixed overtime, or variable through time q) Specify corporate policy for achievinga recommended business split among multiple potential vendors forsupplying the same item r) Model corporate home currency; and othercurrencies that the enterprise might use; and model exchange rates amongmultiple currencies modeled; and specify the default currency forfinancial dealings on the specified agreement s) Marking the status ofthe agreement as active to indicate to the system that the agreement canbe included in optimization runs as a potential supply channel 3) Themethod of claim 1 wherein the step of creating the scope for planning,defining optimization configurations and running the optimizer furthercomprises of the following steps, a) Creating planning groups bygrouping items together manually; and the system further expanding thescope of the items in the group for a given optimization runautomatically b) Create a planning calendar specifying the plan startand end dates, and dividing the intervening time into buckets of timeeach individually identified, and of individual duration that may be indays, weeks, months, quarters or years c) Associating a default planningcalendar for each item group created d) Modeling a earliest release datespecifying to the optimizer the first date when the purchase schedulecan be generated e) Specifying the scope of the problem either through atemplate or independent of it, such a scope consisting of therequisitioning sites and requisitioned items combinations f) Definingthe optimization configurations by specifying the following parametersof the optimizer solver; number of supply expedite lead-time buckets,being the number of buckets through which the material can be ordered inadvance; lot-size multiple constraint horizon, being the point inhorizon through which the lot-sizing rules must be applied on thegenerated system output; minimum lot size constraint horizon, being thepoint in horizon through which the minimum order lot-size rules must beapplied on the generated system output; flag for allowing shortnesseither by lot size multiple or minimum lot size; flag for ignoringprices and costs g) Specifying the optimization execution parameterseither by providing parameters for automatically scheduling the processor manually executing the optimization process 4) The method of claim 3to automatically expand the scope of the planning item groups to includeother items that are related through supply contracts conditions ofcommon obligations, penalties, and rebate values where such commonalityaffects the procurement costs, and therefore optimal purchasing solution5) The method of claim 1 to formulate linear programming and mixedinteger linear programming problems, where in the parametric valuesrequired for problem formulations are computed, these being as follows:automatic computation of consolidated need quantities for each timebucket in the planning horizon; automatic computation of consolidatedsupplier capacity for each time bucket in the planning horizon;automatically computing the pro-rated obligations and rebates effectivefor the planning horizon when such horizon ends before the effective enddate of the contracts; automatic computation of the effective landedprice in each planning bucket when prices vary by time; andautomatically considering any excess quantities planned to be purchasedin previous buckets and compensating for such excess quantities 6) Themethod of claim 1 for computing the compliance scores for eachindividual purchase schedule by measuring such compliance against theagreement parameters of the basic price; other costs covered and modeledin the agreement; transportation routes; lot-size multiple; order lotsize; payment and credit terms; lead time for order processing and orderacknowledgements; order fulfillment on time and quantity ordered; leadtime for supply; lead time for transportation; expedite lead timerequests; and expedite process fees when such fees is due 7) The methodof claim 1 for creating, maintaining and comparing the scenarios inwhich virtual agreements have been modeled for the purpose of evaluatingthe effects of such agreements on existing supply situations, projectedpurchase costs and agreement terms 8) A method for computing effectivelanded cost where one component of such landed cost computation is basicprice that varies with time, or is modeled using a formula that itselfcan change with time, as well as use an external variable that may bedependent on time for its value 9) The method of claim 8, for computingeffective landed cost where components of such landed cost computationare costs that are a function of one or more of the basic price; time;quantity; transportation route defined as a pair of shipping locationand requisitioning location; and can be a combination of absolute valueand/or percentage of another cost 10) A method for defining customuser-specified events where such custom events can be defined using thesystem events that are based on the purchase transaction life cycle; andare further used for modeling payment terms that may consist of absoluteamounts or percentage of the order value 11) The method of claim 5, forcomputing the pro-rated rebates, obligations and penalties when suchobligations and penalties vary with time during the plan horizon; and/orwhen the contract effective end-dates are beyond the modeled planninghorizon 12) The method of claim 1, for formulating linear programmingand mixed integer linear programming models, where in the costs based onquantity basis greater than 1 are solved in two iterations; the costsbeing converted to a quantity basis of 1 in the first iteration model,and being modeled with the actual quantity basis along with tighterbounds for integer variables, in the second iteration. 13) The method ofclaim 1, for formulating linear programming and mixed integer linearprogramming models, where in the models with lot sizing restrictions aresolved in two iterations; the lot sizing restrictions being ignored inthe first iteration and the same being considered in the seconditeration using a reformulated model based on the solution from thefirst iteration. 14) A system for optimizing supply channels, such asystem comprising of an input device for modeling the supply channels; astorage device for storing the supply channels; a problem formulator toformulate the problem for optimization; an optimizer to solve theproblem; and an output device to review and analyze the results of theoptimized purchase schedules 15) The system of claim 14 furthercomprising a display device for displaying the supply channel modelingwith agreements and their attributes, and for displaying the optimizedpurchase schedules 16) The system of claim 14 wherein the supply channelmodel describes the purchase agreements, items, vendors, shippinglocations for these vendors, requisitioning locations, pairs of validcombinations of these locations with valid transportation modes for thepurchase process 17) The system of claim 14 wherein the optimizer is alinear programmer or a mixed integer linear programmer 18) A programstorage device readable by a machine, with a program of instructions,executable by a machine to perform the method steps of defining modelfor supply channels and supply contracts; optimizing for producing theminimum cost purchase schedule, given a supply channel data model andprojected material requirements; defining optimization configurations;defining scenarios; optimizing such scenarios; and computingconsolidated results for analyzing the purchase schedule output forcosts, contract utilization and contract comparison